Perspective with shear warp

ABSTRACT

The present invention relates to a method for generating an 2-D projection directly from a 3-D volume data, the method comprising the steps of determining a viewing direction vector in a viewing frustum, determining a major axis of the direction vector, resampling the volume data in the direction of the major axis, applying a shear factorization to the resampled data; and rendering the factorized data. The method provides a singularly warped image which avoids have to patch images from multiple warp functions which, in turn, improves the quality of the final image. Finally, the image allows a scene to be rendered from within the scene itself. The invention can be applied to medical imaging and enable a surgeon to view an image such as a CT scan with perspective as well as from within the scan itself, providing the surgeon with an invaluable tool.

[0001] This is a Continuation of PCT/CA00/01184, filed Oct. 13, 2000;which claims priority from Canadian Patent Application No. 2,286,447,filed Oct. 15, 1999.

[0002] The present invention relates to the field of three-dimensional(3-D) image rendering, and more particularly to fast volume renderingusing shear warp factorization.

BACKGROUND OF THE INVENTION

[0003] Real-time rendering of 3-D images in volume visualizationapplications has become increasingly important. This is particularlyuseful in clinical applications for the display and analysis ofvolumetric data sets acquired by imaging methods such as ComputedTomography (CT), Magnetic Resonance Imaging (MRI) or ultrasonic imaging.Benefits of volume visualization include the ability to obtain obliqueviews for the increased understanding of complex geometric structureswithin organs, and the ability to measure volumes, areas, and distances.Volume visualization also provides the ability to explore the spatialrelationship between an organ and its surrounding structures or tissues.In general Generation of 3-D images includes the steps of dataacquisition, volume reconstruction and image visualization. Volumerendering is a technique that generates a two-dimensional (2-D)projection directly from the 3-D volume data without requiring anyintermediate geometrical data structure.

[0004] Unfortunately, the application of volume rendering to medicalimaging and scientific visualization is limited because it iscomputationally expensive to generate acceptable frame rates. In orderfor rendering to be effective it is important that it is interactive,that is a user can make certain requests of the image and expect areal-time response. High quality images would take tens of seconds oreven minutes to generate using typical workstation technology.

[0005] Various approaches have been tried in an attempt to improve theresponse time. One approach is to trade quality for speed. This approachis ineffective because many perceptual components of the image areobscured from the view of the user. A more costly approach is to rely onspecial-purpose hardware, which drastically reduces the flexibility ofthe system. Another approach relies on brute force and simply attemptsto render an image by utilizing large multiprocessor computers toperform the rendering in parallel. These types of computers, however,are very expensive and require a large number of processors to achieveacceptable frame rates.

[0006] A further approach is to provide better, faster volume renderingalgorithms. Several existing volume-rendering algorithms operate bysampling the 2-D slices of the 3-D volume data (also known asfactorization), at a fixed resolution; shearing the sampled slices toform an intermediate but distorted image; and warping the intermediateimage in 2D to form an undistorted final image. An example of such atechnique is described in U.S. Pat. No. 5,787,889 titled “Ultrasoundimaging with real-time 3d image reconstruction and visualization”.

[0007] The image visualization process derives 2D image projections ofthe 3D image. The stack of 2D images is known as the “stack space”. Ashear warp factorization process is used to derive the new 2D projectionfor one or more video frames of the image. For each change in viewingangle, the process factorizes the necessary viewing transformationmatrix into a 3D shear, which is parallel to slices of the volume data.A projection of the shear forms a 2D intermediate image. A 2D warp isimplemented to produce the final image, (that is, a 2D projection of the3D volume at a desired viewing angle).

[0008] During the process of revisualizing the volume at a differentviewing angle, the reconstructed volume is sheared by transforming thereference coordinate system to an intermediate coordinate system. Thissimplifies mapping of the data. The intermediate coordinate system alsois referred to as “sheared object space”. The sheared object space isselected so that all viewing rays are parallel to one of the axes of theoriginal coordinate system for the volume (e.g., the referencecoordinate system). FIG. 1(a) depicts the transformation into shearedobject space for parallel projection. The volume is retrieved as a set16 of volume slices. The shearing direction for the volume is parallelto the set 16 of slices. Alternatively, the set of slices is resampledto be parallel to the shearing direction.

[0009] The slices 16 then are translated and resampled to achieve imageprojection rays 19 which are perpendicular to the sheared slices 18. Theintermediate image projection plane is parallel to the slices of thevolume. Since all the projection rays 19 are perpendicular to both theprojection plane 14 and the slices 18, an imaging process for theprojection causes the image data to be accessed in storage order.Because the shearing occurs only on two axes, a simple translationoperation is used which does not use a lot of computations. The resultof the shear factorization is a distorted image projection. Suchdistorted projection is not displayed. Before the volume is displayed,the projection undergoes a 2D geometric image warping operation tocreate a final 2D image projection of the volume.

[0010]FIG. 1(b) illustrates perspective projection and is represented bythe numeral 20. For a perspective transformation, the slices 16 arescaled in addition to being sheared to achieve sheared object spaceslices 24. The scaling produces an effect that allows an observer toperceive the volume with perspective. Such a method is best described ina paper titled “Fast Volume Rendering Using a Shear-Warp Factorisationof the Viewing Transformation”, Technical Report CSL-TR-95-678,Departments of Electrical Engineering and Computer Science, StanfordUniversity, September 1995.

[0011] However, the current implementations of shear warp factorizationare limited in several aspects. First of all, the major axis is notunique for all the rays in the viewing frustum. As previously mentioned,the major axis is used for factorization. Therefore, since there arethree coordinate axes, there are three possible major axes, and a scenemay be rendered in as many as three different factorizations. Eachrendering process produces an image patch and joining, or stitching, thepatches together create the final scene.

[0012] It has been found that the stitching process is computationallynot trivial and furthermore, some distortion is created along the borderof the patches. The distortion occurs since the factorizations are onlymathematical models and, therefore, the results may differ slightlybetween factorizations. Additionally, using two or more factorizationsis expensive in terms of memory access and computation.

[0013] Furthermore, the current implementation also does not allow theobserver to view the image from a position within the data set; aposition, which can provide valuable information to the observer.

[0014] It is an object of the present invention to obviate or mitigateat least some of these disadvantages.

SUMMARY OF THE INVENTION

[0015] An advantage of the present invention is a method for generatinga 2-D image with perspective using shear- warp factorization that usesone copy of the volume data.

[0016] A further advantage of the invention is the volume data may beaccessed in storage order and which has the further advantage ofaccessing memory once for every slice.

[0017] In accordance with this invention there is provided a method forgenerating an 2-D projection directly from an 3-D volume data, themethod comprising the steps of

[0018] (a) determining a viewing direction vector in a viewing frustum;

[0019] (b) determining a major axis of the direction vector;

[0020] (c) resampling the volume data in the direction of the majoraxis;

[0021] (d) applying a shear factorization to the resampled data; and

[0022] (e) rendering the factorised data.

[0023] In accordance with a further embodiment there is provided asystem for generating an 2-D projection directly from an 3-D volumedata, the system including a microprocessor programmed in accordancewith the method of this invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024] These and other embodiments of the invention will now bedescribed by way of example only, with reference to the accompanyingdrawings in which:

[0025]FIG. 1(a) is an illustration of shear warp factorization withparallel projection according to the prior art;

[0026]FIG. 1(b) is an illustration of shear warp factorization withperspective projection according to the prior art;

[0027]FIG. 2 is a schematic diagram of a volume rendering system forimplementing an embodiment of the present invention;

[0028] FIGS. 3(a) and (b) are schematic diagram showing the coordinatesystems used in an embodiment of the present invention;

[0029] FIGS. 4(a) and (b) is a schematic diagram of a cross-section of ascene to be rendered and its associated viewing frustum;

[0030]FIG. 5 is a flow chart illustrating the steps involved in theshear warp process according to an embodiment of the invention;

[0031]FIG. 6 is another schematic diagram of a cross-section of a sceneto be rendered;

[0032]FIG. 7 is schematic diagram of the image in FIG. 6 after shearing;

[0033]FIG. 8 is a schematic graph illustrating the mapping of tworelated points to the same result;

[0034]FIG. 9 is a schematic diagram of the cross-section of the scene inFIG. 4(a) after resampling;

[0035]FIG. 10 is a schematic diagram of the cross-section of the scenein FIG. 9 after shearing; and

[0036]FIG. 11 is a schematic graph illustrating the use of differentshear matrices and the same warp matrix for factorization.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0037] In the following description, like numerals refer to likestructures in the drawings. Referring to FIG. 2, a block diagram of animaging system for implementing an embodiment of the present inventionis shown generally by numeral 100. The system 100 includes a memory 102for storing a dataset 104 comprising a slice stack of the volume data, aprocessing system 106 responsive to a user input 108 for rendering anddisplaying on a display 110 a view 112 of the dataset 104.

[0038] To reconstruct an image on the display, based on a user selectedview of the dataset, the processing system performs a transformation byshear factorization to create a distorted image projection. Suchdistorted projection is not displayed. Before the volume is displayed,the projection undergoes a 2D geometric image warping operation tocreate a final 2D-image projection of the volume. Thus given a scenedefined by a volume, a viewing position, a viewing direction and aviewing frustum, the method selects an axis to use in the factorization,by ensuring that it is the one with the biggest component in the viewingdirection or major axis. This is achieved by resampling the volumeslices with a finer grid along this major axis and then rendering theimage as above.

[0039] This may be illustrated geometrically by referring to FIGS. 3(a)and 3(b), which shows the various coordinate systems used in an imagingsystem according to an embodiment of the invention. The relationshipbetween the various coordinates systems is well known in the art, but isbriefly described herein for convenience. The coordinate systemsincludes a viewer 120 at a viewpoint V with a coordinate system definedby orthogonal axes (u,v,w), an image plane P 122 at a distance n along aviewing direction 124 and a far plane 126 a distance f in the volume104. The volume 104 is comprised of a series of slices (obtained througha CT scan, MRI, Ultrasonic or other technique). Another coordinatesystem having orthogonal axes (x,y,z) is defined with its origin at onecorner of the volume 104, and the x-y plane parallel to the slices andextending in the z direction as shown in FIG. 3(a). A viewing frustum128 is shown having an angle α to the viewing direction 124. The entiresystem is referenced with respect to a world coordinate system 130.

[0040] Thus, data indicating the viewpoint V in the 3D workspaceincludes coordinate data indicating the viewpoint's position. Dataindicating the viewpoint in a 3D workspace may also include dataindicating the viewpoint's “direction of orientation” in the workspace.The direction of orientation is the direction from the viewpoint intothe field of view along the axis at the center of the field of view.Each viewpoint into a 3D workspace provides a view into the workspacethat is delineated by a truncated pyramid structure called the viewingfrustum as shown in FIG. 3(a). As may be seen specifying two itemsspecifies the viewing frustum: the position of the user's eye and theposition of a point in the workspace to be centered in the view. Aviewing transform automatically produces an axis defined by these twoitems, which is called the “line of sight.” The “line of sight” is a raycast from the user's eye through the center of the viewing frustum andproduces an axis orthogonal to the image surface of the display.

[0041] As may be seen in FIG. 3(b), the image plane 122 is shown ascomprised of rows and columns of pixels (or voxels) with the point P atthe center of the image plane.

[0042] Referring to FIG. 4(a) a cross-section 142 of the volume 126 asshown in FIG. 4(b) and a viewing direction projected onto the x-y planeis shown generally by numeral 140. The viewing direction is indicated bythe vector D. As described earlier, shear-warp factorization is achievedby transforming a volume into sheared object space wherein for parallelprojection each slice is translated, while for perspective projectioneach slice is translated and scaled. In both instances in sheared objectspace the voxel slices can be projected into an image easily. Bydefinition in sheared object space all viewing rays are parallel to thethird coordinate axis or also known as the major axis (the y axis asillustrated in FIG. 4(a)). Thus if there exists a viewing transformationmatrix M_(view) that transforms points (represented as column vectors)from object space to image space, then M_(view) may be used to determinethe viewing direction D.

[0043] The viewing direction D is determined by$D = {M_{view}^{- 1}\begin{pmatrix}0 \\0 \\1 \\0\end{pmatrix}}$

[0044] In the present invention the major axis is selected by using theaxis that has the largest component in the viewing direction. Forexample, the vector D in FIG. 4(a) has the coordinates:

x=2,y=1

[0045] Since the x component of D is greater than the y component, thex-axis is selected as the major axis.

[0046] Once the major axis is selected, a sample step size iscalculated. The volume is resampled with a higher resolution along themajor axis. The step size indicates the extent of the resampling. Forexample, a step size of six implies that the major axis will be sampledwith a resolution increased by a factor of six.

[0047] A shear warp transformation is applied to the volume in stackspace, that is the stack of sliced 2-D images. The shear warptransformation transforms the image to one that can be displayed. Thematrices used in the transformation, M_(shear) and M_(warp), are definedin accordance with the paper “Fast Volume rendering of a Shear WarpFactorization of the Viewing Transformation” by Philippe Lacroute andMarc Levoy, and the major direction is determined as described above.Thus, referring to FIG. 5, a flow chart illustrating the steps involvedin the shear warp process according to an embodiment of the invention isshown generally by numeral 150.

[0048] In some instances all the viewing rays in the viewing frustum arenot guaranteed to have the same major axis and therefore it may not bepossible to use only one factorization. Referring to FIG. 6 a 2D exampleis illustrated in which all the viewing rays do not have the same majoraxis. Once again D represents the viewing direction, vectors r₀ and r₁represent two rays in the viewing frustum other than D, and V representsthe volume in stack space to be rendered. In this particular example,D=(−0.2, 1), r₀=(1,0.2), and r₁=(−1,0.2). Therefore, the largestcomponent of the vector D is in the y direction and the y-axis isselected as the major axis.

[0049] However, the situation appears quite different in object space.From Lacroute et. Al. above the general equation for a 2D-shear matrixM_(shear) is given by: $M_{shear} = \begin{bmatrix}1 & {- s} \\0 & 1\end{bmatrix}$

[0050] where s is the ratio of the component of the vector in theviewing direction that is not along the major axis to the component thatis along the major axis. Therefore s=−0.2 and the shear matrix is:$M_{shear} = \begin{bmatrix}1 & 0.2 \\0 & 1\end{bmatrix}$

[0051] The vectors in shear space are:

D′=M_(shear)D=(0,1)

r′₀=M_(shear)r₀=(1.04, 0.2)

r′₁=M_(shear)r₁=(−0.96, 0.2)

[0052] The sheared image is shown in FIG. 7. It can be seen that r′₀cannot be calculated using the above factorization because y is not themajor axis for this ray.

[0053] However, if the volume is resampled with a higher resolutionalong the major axis it is guaranteed that, under certain conditions,all the rays in the viewing frustum will have the same major axis.Therefore it is desireable to resample the image along the y-axis withresampling step size r. The resampled volume Y′ is related to theoriginal volume Y by: $Y^{\prime} = {\begin{pmatrix}x \\\begin{matrix}{r\quad y} \\z \\t\end{matrix}\end{pmatrix} = {{\left( \quad \begin{matrix}1 & 0 & 0 & 0 \\0 & r & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 1\end{matrix}\quad \right)\begin{pmatrix}x \\y \\z \\t\end{pmatrix}} = {RY}}}$

[0054] As shown schematically in FIG. 7, Y is transformed to the finalimage O using the matrix M_(view). Therefore it is necessary to find thematrix M_(view)′ to transform Y′ to the same O. It is known that:

O=M′_(view)Y′  (1)

[0055] and

O=M_(view)Y=M_(view)R⁻¹RY=M_(view)R⁻¹Y′  (2)

[0056] By comparing equation 1 with equation 2 it can be determinedthat:$M_{view}^{\prime} = {{M_{view}R^{- 1}} = {{\left( \quad \begin{matrix}m_{11} & m_{12} & m_{13} & m_{14} \\m_{21} & m_{22} & m_{23} & m_{24} \\m_{31} & m_{32} & m_{33} & m_{34} \\m_{41} & m_{42} & m_{43} & m_{44}\end{matrix}\quad \right)\left( \quad \begin{matrix}1 & 0 & 0 & 0 \\0 & {1/r} & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 1\end{matrix}\quad \right)} = \left( \quad \begin{matrix}m_{11} & {m_{12}/r} & m_{13} & m_{14} \\m_{21} & {m_{22}/r} & m_{23} & m_{24} \\m_{31} & {m_{32}/r} & m_{33} & m_{34} \\m_{41} & {m_{42}/r} & m_{43} & m_{44}\end{matrix}\quad \right)}}$

[0057] It is necessary to calculate the viewer position in stack spaceas: $e_{o,x}^{\prime} = {\frac{\left( \quad \begin{matrix}0 & {m_{12}/r} & m_{13} & m_{14} \\0 & {m_{22}/r} & m_{23} & m_{24} \\{- 1} & {m_{32}/r} & m_{33} & m_{34} \\0 & {m_{42}/r} & m_{43} & m_{44}\end{matrix}\quad \right)}{M_{view}^{\prime}} = {{{- r}\frac{\quad \begin{matrix}{m_{12}/r} & m_{13} & m_{14} \\{m_{22}/r} & m_{23} & m_{24} \\{m_{42}/r} & m_{43} & m_{44}\end{matrix}\quad }{M_{view}}} = {{\frac{- r}{r}\frac{\quad \begin{matrix}m_{12} & m_{13} & m_{14} \\m_{22} & m_{23} & m_{24} \\m_{42} & m_{43} & m_{44}\end{matrix}\quad }{M_{view}}} = e_{o,x}}}}$

[0058] since |M′_(view)|=|M_(view)R⁻¹|=|M_(view)||R⁻¹|. Also$e_{o,y}^{\prime} = {\frac{\left( \quad \begin{matrix}m_{11} & 0 & m_{13} & m_{14} \\m_{21} & 0 & m_{23} & m_{24} \\m_{31} & {- 1} & m_{33} & m_{34} \\m_{41} & 0 & m_{43} & m_{44}\end{matrix}\quad \right)}{M_{view}^{\prime}} = {{r\frac{\quad \begin{matrix}m_{11} & m_{13} & m_{14} \\m_{21} & m_{23} & m_{24} \\m_{41} & m_{43} & m_{44}\end{matrix}\quad }{M_{view}}} = {r\quad e_{o,y}}}}$

[0059] since ${\quad \begin{matrix}{\alpha \quad a} & b & c \\{\alpha \quad d} & e & f \\{\alpha \quad g} & h & k\end{matrix}} = {\alpha \quad {{\quad \begin{matrix}{\quad a} & b & c \\{\quad d} & e & f \\{\quad g} & h & k\end{matrix}}.}}$

[0060] Following the same rule e′_(o,z) and e′_(o,w) are:$e_{o,z}^{\prime} = {\frac{\left( \quad \begin{matrix}m_{11} & {m_{12}/r} & 0 & m_{14} \\m_{21} & {m_{22}/r} & 0 & m_{24} \\m_{31} & {m_{32}/r} & {- 1} & m_{34} \\m_{41} & {m_{42}/r} & 0 & m_{44}\end{matrix}\quad \right)}{M_{view}^{\prime}} = e_{o,z}}$$e_{o,w}^{\prime} = {\frac{\left( \quad \begin{matrix}m_{11} & {m_{12}/r} & m_{13} & 0 \\m_{21} & {m_{22}/r} & m_{23} & 0 \\m_{31} & {m_{32}/r} & m_{33} & {- 1} \\m_{41} & {m_{42}/r} & m_{43} & 0\end{matrix}\quad \right)}{M_{view}^{\prime}} = e_{0,w}}$

[0061] If the viewer is located outside the volume, vectors areconstructed from the viewer position to each one of the corners of thevolume. These vectors represent the boundary of the viewing frustum andall the rays are included in it. If points p′_(i) for i=0 . . . 6 arethe corners of a volume in Y′ then the major direction for each vectoris defined as:

c=max(|p′ _(i,x) −e′ _(o,x) |,|p′ _(i,y) −e′ _(o,y) |,|p′ _(i,z) −e′_(o,z)|)=max(|p _(i,x) −e _(o,x) |,r|p _(i,y) −e _(o,y) |,|p _(i,z) −e_(o,z)|)   (3)

[0062] From equation 3 it can be determined that as long as

|p _(i,y) −e _(o,y)|≈0∀i   (4)

[0063] there exists an integer r that, when used as the sample stepsize, ensures all rays in the viewing frustum have the same major axis.Since all the rays in the frustum have the same major access they areall rendered with the same factorization. Therefore, the image displayeddoes not have the visual defects that may arise if the image is renderedwith multiple factorizations and then patched together. The image isalso rendered faster than if multiple factorizations are used.

[0064] Referring once again to the 2D scene in FIG. 6, it is possible toresample the scene along the y-axis. If it is determined that the valuefor r is 6, then the scene is resampled with a step size of 6 and theresults are shown in FIG. 9. The new values for the vectors are:D=(−0.2, 6); r₀=(1,1.2); and r₁=(−1,1.2). Here s=−0.2/6 and the shearmatrix is: $M_{shear} = \begin{bmatrix}1 & \frac{0.2}{6} \\0 & 1\end{bmatrix}$

[0065] The vectors in shear space are:

[0066] D′=M_(shear)D=(0,6);

[0067] r′₀=M_(shear) r₀=(1.004, 1.2);

[0068] r′₁=M_(shear) r₁=(−0.996, 1.2).

[0069] The sheared image is shown in FIG. 10. At this point, it ispossible to see that in object space, the y-axis is the major axis forall the vectors and therefore only one factorization will be necessary.

[0070] If the position of the viewer is located within the volume, adifferent procedure is used to determine the value for r. In this caseit is necessary to form a ray to each of the voxels in the viewingfrustum. If v_(i)′ is a voxel in the viewing frustum then the vectorfrom the observer to this voxel is v′_(i)-e′_(o). The major direction isdetermined by:

c=max(|v′ _(i,x) −e′ _(o,x) |,|v′ _(i,y) −e′ _(o,y) |,|v′ _(i,z) e′_(o,z)|)=max(|v _(i,x) −e _(o,x) |,r|v _(i,y) −e _(o,y) |,|v _(i,z) −e_(o,z)|)   (5)

[0071] In this situation, however, there is no guarantee that there canbe a value for r such that

|v _(i,y) −e _(o,y)|≈0∀i   (6)

[0072] In fact, if the viewing angle is wide enough, it may be requiredto trace rays parallel to all three axes. This results in at least oneray with a zero co-ordinate for each axis and therefore it is notpossible to use the same factorization. Therefore, the limit that thisimposes is that the viewing angle must be less than 90° solid angle.

[0073] It is important to note that although the case for resamplingalong the y-axis has been explained, it can be shown in a very similarmanner for all the other axes.

[0074] In the case in which the observer is outside the stack, one axisthat satisfies equation 4 can always be found.

[0075] In a second embodiment, it is possible to improve the performanceof the algorithm even further. The sample step size r is calculated inthe same manner as it was in the previous embodiment. Althoughresampling the image improves the performance of the algorithm there isstill an overhead associated with it. Therefore, if the amount ofresampling to be done is minimized a further performance enhancement canbe realized. As it can be seen in FIG. 7, some rays have the y-axis asthe major axis while others have the x-axis as the major axis. Thoserays that already have the y-axis as the major axis do not need to beresampled. Therefore, if the resampling occurs only in the region thatoriginally has the x-axis as the major axis, then not as many resourcesand not as much time will be used to perform the shear.

[0076] An important aspect of this method is the fact that the additionof a resampling step does not change the warp matrix. As is illustratedschematically in FIG. 11, although two different shear matrices are usedto transform the volume to a baseline image, the same warp matrix can beused to transform the baseline image to the final image.

[0077] If M_(view) and M′_(view) are two matrices with differentresampling steps and the resampling occurs in the x direction:$M_{view} = {{M_{warp}M_{shear}} = {\begin{pmatrix}w_{11} & w_{12} & w_{13} & w_{14} \\w_{21} & w_{22} & w_{23} & w_{24} \\w_{31} & w_{32} & w_{33} & w_{34} \\w_{41} & w_{42} & w_{43} & w_{44}\end{pmatrix}\begin{pmatrix}1 & 0 & 0 & 0 \\{- {sy}} & 1 & 0 & 0 \\{- {sz}} & 0 & 1 & 0 \\{- p} & 0 & 0 & 1\end{pmatrix}}}$ and$M_{view}^{\prime} = {{M_{warp}M_{shear}R^{- 1}} = {{\begin{pmatrix}w_{11} & w_{12} & w_{13} & w_{14} \\w_{21} & w_{22} & w_{23} & w_{24} \\w_{31} & w_{32} & w_{33} & w_{34} \\w_{41} & w_{42} & w_{43} & w_{44}\end{pmatrix}\begin{pmatrix}1 & 0 & 0 & 0 \\{- {sy}} & 1 & 0 & 0 \\{- {sz}} & 0 & 1 & 0 \\{- p} & 0 & 0 & 1\end{pmatrix}\begin{pmatrix}{1/r} & 0 & 0 & 0 \\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 1\end{pmatrix}} = {= {{\begin{pmatrix}w_{11} & w_{12} & w_{13} & w_{14} \\w_{21} & w_{22} & w_{23} & w_{24} \\w_{31} & w_{32} & w_{33} & w_{34} \\w_{41} & w_{42} & w_{43} & w_{44}\end{pmatrix}\begin{pmatrix}{1/r} & 0 & 0 & 0 \\{{- {sy}}/r} & 1 & 0 & 0 \\{{- {sz}}/r} & 0 & 1 & 0 \\{{- p}/r} & 0 & 0 & 1\end{pmatrix}} = {{\begin{pmatrix}{w_{11}/r} & {w_{12}/r} & {w_{13}/r} & {w_{14}/r} \\w_{21} & w_{22} & w_{23} & w_{24} \\w_{31} & w_{32} & w_{33} & w_{34} \\w_{41} & w_{42} & w_{43} & w_{44}\end{pmatrix}\begin{pmatrix}1 & 0 & 0 & 0 \\{{- {sy}}/r} & 1 & 0 & 0 \\{{- {sz}}/r} & 0 & 1 & 0 \\{{- p}/r} & 0 & 0 & 1\end{pmatrix}} = {= {M_{warp}^{\prime}M_{shear}^{\prime}}}}}}}}$

[0078] The warp matrix is really a 2-D matrix since it is applied to thebaseline image in shear space in which the slices have been composed.The first row of this matrix can be compressed because the x-axis isused in the factorization: $M_{{warp},{2D}} = \begin{pmatrix}w_{21} & w_{22} & w_{23} & w_{24} \\w_{31} & w_{32} & w_{33} & w_{34} \\w_{41} & w_{42} & w_{43} & w_{44}\end{pmatrix}$

[0079] and M′_(warp,2D)=M_(warp,2D). This property allows the use ofdifferent sample step sizes in shear space along the major axis.

[0080] Since the warp matrix to be used is the same regardless of thevalue of r, and all the major axes are the same, there is still only onefactorization and the image will not have to be patched together. Also,as previously mentioned, the speed of the algorithm is a furtherimprovement to the previous embodiment.

[0081] As in the previous embodiment, it is important to note thatalthough the case for resampling along the x-axis has been explained, itcan be shown in a very similar manner for all the other axes.

[0082] Also, the examples given for all embodiments have related to 2Dscenes for simplicity only. In reality, the scenes that are rendered are3D and the methods described herein are simply extended to the 3Dapplication.

[0083] Although the invention has been described with reference tocertain specific embodiments, various modifications thereof will beapparent to those skilled in the art without departing from the spiritand scope of the invention as outlined in the claims appended hereto.

1. A method for generating a 2-D image projection directly from a 3-Dvolume data, the method comprising the steps of: a) determining aviewing direction vector in a viewing frustum, the viewing frustumcontaining a plurality of viewing vectors; b) determining a major axisof the viewing direction vector; c) re-sampling a selected set of theviewing vectors in the volume data with a refined grid according to aselected image parameter, the re-sampling in a direction of said majoraxis; d) applying a shear factorization to the re-sampled data accordingto the selected image parameter; and e) applying a warp operator forrendering the factorized data for producing said 2-D image projection;wherein the image parameter is selected so as to provide each vector ofthe selected set of viewing vectors with the same major axis of thedirection vector.
 2. A method according to claim 1 further comprisingthe step of determining said viewing frustum by specifying positionaldata of a viewing point and a central point, said central point to besubstantially centered in said 2-D projection.
 3. The method accordingto claim 2, wherein said positional data of said viewing point furtherincludes direction of orientation data of said viewing point in saidvolume data.
 4. The method according to claim 2, wherein said viewingfrustum is a truncated pyramidal geometrical structure.
 5. The methodaccording to claim 4 further comprising the step of determiningboundaries of said viewing frustum by constructing boundary vectors,each of the boundary vectors including said viewing point and extendingto each respective corner of said volume data, wherein said viewingpoint is positioned external to the positions contained by said volumedata.
 6. The method according to claim 5 further comprising the step ofemploying geometrical information obtained from said boundary vectorsfor determining the image parameter used to select a resolution of saidrefined grid, the image parameter being a step size.
 7. The methodaccording to claim 1 further comprising the step of using the majorcomponent of said viewing direction vector for determining said majoraxis.
 8. The method according to claim 7 further comprising the step ofselecting the image parameter for determining a resolution of saidrefined grid, the image parameter being a step size.
 9. The methodaccording to claim 8, wherein said step size is used for providing theplurality of viewing vectors in said viewing frustum to have the samesaid major axis in an object viewing space as said viewing directionvector.
 10. The method according to claim 9, wherein said viewingdirection vector contains a viewing point and a central point, saidcentral point is substantially centered in said 2-D image projection.11. The method according to claim 9, wherein the plurality of viewingvectors in said viewing frustum are rendered with the same factorizationmatrix.
 12. The method according to claim 9 further comprising the stepof using one copy of said volume data for applying said shearfactorization.
 13. The method according to claim 12 further comprisingthe step of accessing said volume data in a pre-defined storage order.14. The method according to claim 13, wherein said volume data is storedin a memory in a stack of 2-D image slices.
 15. The method according toclaim 14 further comprising the step of accessing said memory once forevery selected one of the image slices in said stack.
 16. The methodaccording to claim 2 further comprising the step of constructing the setof separate viewing vectors containing said viewing point and each ofthe separate viewing vectors extending to a respective one of aplurality of voxels contained in said viewing frustum, wherein aposition of said viewing point is located within said volume data. 17.The method according to claim 16 further comprising the step ofselecting the image parameter for determining a resolution of saidrefined grip, the image parameter being a step size, wherein a viewingangle contained by said viewing frustum and said viewing directionvector is less than 90°.
 18. The method according to claim 1 furthercomprising the step of restricting the re-sampling step to selected onesof the set of the plurality of viewing vectors in said viewing frustum,the selected ones having a preliminary major axis different from saidmajor axis of said viewing direction vector.
 19. A method according toclaim 15, wherein the rendering of the factorized data produces a 3-Dimage.
 20. A system for generating in substantially real-time fashion inresponse to input from a user a 2-D image projection directly from a 3-Dvolume data, the system comprising: a) a memory for storing the volumedata; b) b) a processor for factorizing and rendering an image data setselected from said volume data, the image data set including a viewingfrustum having a viewing direction vector with a selected major axis anda plurality of viewing vectors; and c) a user interface for providingsaid processor with an image parameter, said image parameter to be usedin generating the image projection; d) a display for displaying saidimage projection provided by said processor; and e) a refined grid usedby said processor for re-sampling a selected set of the viewing vectorsin said image data set, wherein said image parameter facilitatesdetermination of a resolution of said refined grid to provide eachvector of the selected set of viewing vectors with the same major axisof the direction vector.
 21. A system according to claim 20, whereinsaid image parameter includes a viewing point and a central point, saidcentral point is substantially centered in said 2-D image projection.22. The system according to claim 21, wherein said viewing point andsaid central point are used for determining the viewing direction forsaid 2-D image projection.
 23. The system according to claim 22, whereinthe major component of said viewing direction vector is used fordetermining the major axis in a sheared object space, said refined gridis applied along said major axis.
 24. The system according to claim 20,wherein said volume data is stored in said memory as a stack of 2-Dimage slices.
 25. The system according to claim 24, wherein saidprocessor accesses said memory once for every selected one of said 2-Dimage slices.
 26. The system according to claim 25, wherein saidprocessor accesses said memory in a predefined storage order.
 27. Thesystem according to claim 20, wherein said image parameter is used as aresolution step size of said refined grid.
 28. The system according toclaim 24, wherein said stack of 2-D image slices is obtained from animaging system selected from the group comprising Ct, MRI, andUltrasound.
 29. The system according to claim 26, wherein the processingof said image dataset produces a 3-D image.
 30. A computer programproduct for generating a 2-D image projection directly from a 3-D volumedata, the product comprising: a) a computer readable medium forproviding instructions for a processor; b) a selection module stored onthe computer readable medium for determining a viewing frustum having aviewing direction vector with a selected major axis, the viewing frustumcontaining a plurality of viewing vectors; c) a user interface modulecoupled to the selection module for providing an image parameter; d) are-sampling module coupled to the user interface module for re-samplinga selected set of the viewing vectors in the volume data with a refinedgrid according to the selected image parameter; e) a generator modulefor applying a shear factorization and warp operator to the re-sampledset of viewing rays according to the selected image parameter to producethe image projection displayable on a display; wherein the imageparameter is selected so as provide each vector of the selected set ofviewing vectors with the same major axis of the direction vector. 31.The product according to claim 30, wherein selection of the imageparameter provides a step size used to define a resolution of therefined grid.
 32. The product according to claim 31, wherein the stepsize is used to modify the shear factorization.
 33. The productaccording to claim 31, wherein the boundaries of the viewing frustum isdetermined by constructing boundary vectors, each of the boundaryvectors including a viewing point and extending to each respectivecorner of the volume data, wherein the viewing point is positionedexternal to the positions contained by the volume data.
 34. The productaccording to claim 31, wherein the set of viewing vectors contains aviewing point and each of the viewing vectors of the set extends to arespective one of a plurality of voxels contained in the viewingfrustum, the viewing point is located within the volume data.
 35. Theproduct according to claim 34, wherein a viewing angle contained by theviewing frustum and the viewing direction vector is less than 90°. 36.The product according to claim 34, wherein the re-sampling is restrictedto selected ones of the set of viewing vectors in the viewing frustum,the selected ones having a preliminary major axis different from themajor axis of the viewing direction vector.
 37. The product according toclaim 36, wherein the viewing frustum is determined by specifyingpositional data of the viewing point and a central point, the centralpoint being substantially centered in the 2-D projection.
 38. Theproduct according to claim 32, wherein the warp operator is independentof the step size selected.
 39. The product according to claim 36,wherein processing of the selected set of the viewing rays produces a3-D image displayable on the display.